solve linear systems of equations